Reduce, Reuse, Recycle (R): a Design Methodology for Sparse Matrix Vector Multiplication on Reconfigurable Platforms
نویسندگان
چکیده
Sparse Matrix Vector Multiplication (SpMV) is an important computational kernel in many scientific computing applications. Pipelining multiply-accumulate operations shifts SpMV from a computationally bounded kernel to an I/O bounded kernel. In this paper, we propose a design methodology and hardware architecture for SpMV that seeks to utilize system memory bandwidth as efficiently as possible, by Reducing the matrix element storage with on-chip decompression hardware, Reusing the vector data by mixing row and column matrix traversal, and Recycling data with matrix-dependent on-chip storage. Our experimental results with a Convey HC-1/HC-2 reconfigurable computing system indicate that for certain sparse matrices, our R methodology performs twice as fast as previous reconfigurable implementations, and effectively competes against other platforms.
منابع مشابه
Reduce, Reuse, Recycle (R3): A design methodology for Sparse Matrix Vector Multiplication on reconfigurable platforms
متن کامل
An FPGA Drop-In Replacement for Universal Matrix-Vector Multiplication
We present the design and implementation of a universal, single-bitstream library for accelerating matrixvector multiplication using FPGAs. Our library handles multiple matrix encodings ranging from dense to multiple sparse formats. A key novelty in our approach is the introduction of a hardware-optimized sparse matrix representation called Compressed Variable-Length Bit Vector (CVBV), which re...
متن کاملHigh performance sparse matrix-vector multiplication on FPGA
This paper presents the design and implementation of a high performance sparse matrix-vector multiplication (SpMV) on fieldprogrammable gate array (FPGA). By proposing a new storage format to compress the indexes of non-zero elements by exploiting the substructure of the sparse matrix, our SpMV implementation on a reconfigurable computing platform with a multi-channel memory subsystem is capabl...
متن کاملAutotuning Sparse Matrix-Vector Multiplication for Multicore
Sparse matrix-vector multiplication (SpMV) is an important kernel in scientific and engineering computing. Straightforward parallel implementations of SpMV often perform poorly, and with the increasing variety of architectural features in multicore processors, it is getting more difficult to determine the sparse matrix data structure and corresponding SpMV implementation that optimize performan...
متن کاملSparse Matrix-Vector Multiplication Kernel on a Reconfigurable Computer
The SRC reconfigurable computer provides the capability of obtaining application-specific driven performance for high data bandwidth, computationally intensive applications. It has high-density FPGA devices with local distributed memory banks that can be utilized to obtain high performance for floating point applications. The floatingpoint Sparse Matrix Vector (SpMatVec) multiplication, a key c...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2013